/**
 * 
 */
package br.gov.sjc.socialalimenta;

import br.org.sjc.validacao.Sair;
import android.app.AlertDialog;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

/**
 * @author rodrigo.ramos
 *
 */
public class IndSegAlimentarActivity extends Sair {
	public static String TAG =  "IndSegAlimentarActivity";
	//Declara base de dados
	public static SQLiteDatabase BancoDados = null;
	public static String nomeBanco = "SocialAlimenta";
	public void openDB(){
		try{
			BancoDados = openOrCreateDatabase(nomeBanco,MODE_WORLD_READABLE,null);
			Log.v("IndSegAlimentarActivity", "BancoDados.openOrCreateDatabase();");
		}catch (Exception E){
			Log.e("IndSegAlimentarActivity", "Erro em BancoDados.close();"+E.getMessage());
		} 
	}
	public void closeDB(){
		BancoDados.close();
		Log.v("IndSegAlimentarActivity", "BancoDados.close();");
	}
	//Declara EditText
	EditText tbIntoOutra ;

	//Declara os CheckBox
	CheckBox cbGestante,cbAcompMedGest,cbAcompNutGest,cbNutriz,cbAcompMedNutriz;
	CheckBox cbAcompNutNutriz,cbIntolerancia,cbAcompMedInto,cbAcompNutInto, cbIntoLactose;
	CheckBox cbIntoGluten,cbIntoProteina,cbDiabete,cbAcompMedDiabetes, cbAcompNutDiabetes;
	CheckBox cbAnemia,cbAcompMedAnemia,cbAcompNutAnemia,cbHipertensao, cbAcompMedHipert;
	CheckBox cbAcompNutHipert,cbObesidade,cbAcompMedObesidade,cbAcompNutObesidade;


	//Declara base de dados
	// SQLiteDatabase BancoDados = SocialAlimenta2Activity.BancoDados ;

	//Pega o numero do Sias em uso atual
	NumeroSias ns = new NumeroSias();
	int NumSias = ns.getNumeroDaFamilia();
	int ID;

	//Declara Cursor
	Cursor cVerifica;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.indicadorsegurancaalimentar);
		registerBaseActivityReceiver();
		openDB();
		cbGestante = (CheckBox) findViewById(R.indsegalimentar.cbGestante);
		cbAcompMedGest = (CheckBox) findViewById(R.indsegalimentar.cbAcompMedGest);
		cbAcompNutGest = (CheckBox) findViewById(R.indsegalimentar.cbAcompNutGest);
		cbNutriz = (CheckBox) findViewById(R.indsegalimentar.cbNutriz);
		cbAcompMedNutriz = (CheckBox) findViewById(R.indsegalimentar.cbAcompMedNutriz);
		cbAcompNutNutriz = (CheckBox) findViewById(R.indsegalimentar.cbAcompNutNutriz);
		cbIntolerancia = (CheckBox) findViewById(R.indsegalimentar.cbIntolerancia);
		cbAcompMedInto = (CheckBox) findViewById(R.indsegalimentar.cbAcompMedInto);
		cbAcompNutInto = (CheckBox) findViewById(R.indsegalimentar.cbAcompNutInto);
		cbIntoLactose = (CheckBox) findViewById(R.indsegalimentar.cbIntoLactose);
		cbIntoGluten = (CheckBox) findViewById(R.indsegalimentar.cbIntoGluten);
		cbIntoProteina = (CheckBox) findViewById(R.indsegalimentar.cbIntoProteina);
		cbDiabete = (CheckBox) findViewById(R.indsegalimentar.cbDiabetes);
		cbAcompMedDiabetes = (CheckBox) findViewById(R.indsegalimentar.cbAcompMedDiabetes);
		cbAcompNutDiabetes = (CheckBox) findViewById(R.indsegalimentar.cbAcompNutDiabetes);
		cbAnemia = (CheckBox) findViewById(R.indsegalimentar.cbAnemia);
		cbAcompMedAnemia = (CheckBox) findViewById(R.indsegalimentar.cbAcompMedAnemia);
		cbAcompNutAnemia = (CheckBox) findViewById(R.indsegalimentar.cbAcompNutAnemia);
		cbHipertensao = (CheckBox) findViewById(R.indsegalimentar.cbHipertensao);
		cbAcompMedHipert = (CheckBox) findViewById(R.indsegalimentar.cbAcompMedHipert);
		cbAcompNutHipert = (CheckBox) findViewById(R.indsegalimentar.cbAcompNutHipert);
		cbObesidade = (CheckBox) findViewById(R.indsegalimentar.cbObesidade);
		cbAcompMedObesidade = (CheckBox) findViewById(R.indsegalimentar.cbAcompMedObesidade);
		cbAcompNutObesidade = (CheckBox) findViewById(R.indsegalimentar.cbAcompNutObesidade);
		tbIntoOutra = (EditText) findViewById(R.indsegalimentar.tbIntoOutra);


		/** Inicia o set de dados caso haja dados */
		if (verificaRegistro(NumSias)){
			setarDados();
			Log.v("IndSegAlimentarActivity", "onCreate() Com dados do SiasN: "+NumSias+"ID: "+ID);
		}else{
			//Num tem seNão
			Log.v("IndSegAlimentarActivity", "onCreate() Com dados vazios ");
		}

		/** Acao do botao Voltar */
		Button btnISAVoltar = (Button) findViewById(R.indsegalimentar.btnVoltar);
		btnISAVoltar.setOnClickListener(new View.OnClickListener() {

			public void onClick(View arg0) {
				/** InitComponents */
				Intent ittISAVoltar = new Intent(getApplicationContext(), GrupoFamiliarActivity.class);
				closeDB();
				startActivity(ittISAVoltar);
			}
		});//fim acao do botao voltar

		/** Acao do botao Px */
		Button btnISAPx = (Button) findViewById(R.indsegalimentar.btnPx);
		btnISAPx.setOnClickListener(new View.OnClickListener() {

			public void onClick(View arg0) {

				if (verificaRegistro(NumSias)){
					if (validaRegistro()){
						alteraRegistro(ID);
						ittIr();
					}else{
						Log.e(TAG,"onCreate - Não Validado");
					}
					
				}else{
					String gestante, gestanteAcompMedico,gestanteAcompNutric;
					if (cbGestante.isChecked()){
						gestante = "Sim";
					}else{
						gestante = "Não";
					}
					if (cbAcompMedGest.isChecked()){
						gestanteAcompMedico = "Sim";
					}else{
						gestanteAcompMedico = "Não";
					}
					if (cbAcompNutGest.isChecked()){
						gestanteAcompNutric = "Sim";
					}else{
						gestanteAcompNutric = "Não";
					}
					String nutriz, nutrizAcompMedico,nutrizAcompNutric;
					if (cbNutriz.isChecked()){
						nutriz = "Sim";
					}else{
						nutriz = "Não";
					}
					if (cbAcompMedNutriz.isChecked()){
						nutrizAcompMedico = "Sim";
					}else{
						nutrizAcompMedico = "Não";
					}
					if (cbAcompMedNutriz.isChecked()){
						nutrizAcompNutric = "Sim";
					}else{
						nutrizAcompNutric = "Não";
					}
					String intolerancia, intoleranciaAcompMedico,intoleranciaAcompNutric,intoleranciaLactose,intoleranciaGluten,intoleranciaProteina;
					if (cbIntolerancia.isChecked()){
						intolerancia = "Sim";
					}else{
						intolerancia = "Não";
					}
					if (cbAcompMedInto.isChecked()){
						intoleranciaAcompMedico = "Sim";
					}else{
						intoleranciaAcompMedico = "Não";
					}
					if (cbAcompNutInto.isChecked()){
						intoleranciaAcompNutric = "Sim";
					}else{
						intoleranciaAcompNutric = "Não";
					}
					if (cbIntoLactose.isChecked()){
						intoleranciaLactose = "Sim";
					}else{
						intoleranciaLactose = "Não";
					}
					if (cbIntoGluten.isChecked()){
						intoleranciaGluten = "Sim";
					}else{
						intoleranciaGluten = "Não";
					}
					if (cbIntoProteina.isChecked()){
						intoleranciaProteina = "Sim";
					}else{
						intoleranciaProteina = "Não";
					}
					String diabete, diabeteAcompMedico,diabeteAcompNutric;
					if (cbDiabete.isChecked()){
						diabete = "Sim";
					}else{
						diabete = "Não";
					}
					if (cbAcompMedDiabetes.isChecked()){
						diabeteAcompMedico = "Sim";
					}else{
						diabeteAcompMedico = "Não";
					}
					if (cbAcompNutDiabetes.isChecked()){
						diabeteAcompNutric = "Sim";
					}else{
						diabeteAcompNutric = "Não";
					}
					String anemia, anemiaAcompMedico,anemiaAcompNutric;
					if (cbAnemia.isChecked()){
						anemia = "Sim";
					}else{
						anemia = "Não";
					}
					if (cbAcompMedAnemia.isChecked()){
						anemiaAcompMedico = "Sim";
					}else{
						anemiaAcompMedico = "Não";
					}
					if (cbAcompNutAnemia.isChecked()){
						anemiaAcompNutric = "Sim";
					}else{
						anemiaAcompNutric = "Não";
					}
					String hipertensao, hipertensaoAcompMedico,hipertensaoAcompNutric;
					if (cbHipertensao.isChecked()){
						hipertensao = "Sim";
					}else{
						hipertensao = "Não";
					}
					if (cbAcompMedHipert.isChecked()){
						hipertensaoAcompMedico = "Sim";
					}else{
						hipertensaoAcompMedico = "Não";
					}
					if (cbAcompNutHipert.isChecked()){
						hipertensaoAcompNutric = "Sim";
					}else{
						hipertensaoAcompNutric = "Não";
					}
					String obesidade, obesidadeAcompMedico,obesidadeAcompNutric;
					if (cbObesidade.isChecked()){
						obesidade = "Sim";
					}else{
						obesidade = "Não";
					}
					if (cbAcompMedObesidade.isChecked()){
						obesidadeAcompMedico = "Sim";
					}else{
						obesidadeAcompMedico = "Não";
					}
					if (cbAcompNutObesidade.isChecked()){
						obesidadeAcompNutric = "Sim";
					}else{
						obesidadeAcompNutric = "Não";
					}
					if (validaRegistro()){
						//salva dados
						salvaDados(NumSias,
								gestante,gestanteAcompMedico,gestanteAcompNutric,
								nutriz,nutrizAcompMedico,nutrizAcompNutric,
								intolerancia,intoleranciaLactose,intoleranciaGluten,intoleranciaProteina, tbIntoOutra.getText().toString(),intoleranciaAcompMedico,intoleranciaAcompNutric, 
								diabete,diabeteAcompMedico,diabeteAcompNutric,
								anemia,anemiaAcompMedico,anemiaAcompNutric,
								hipertensao, hipertensaoAcompMedico,hipertensaoAcompNutric,
								obesidade,obesidadeAcompMedico,obesidadeAcompNutric);
					
						ittIr();
					}else{
						Log.e(TAG,"onCreate - ValidaREgistro False");
					}
				}
			}


		});//fim acao do botao Px
	}
	/** 
	 * tab_SocialA_IndSegAlimen(_id INTEGER PRIMARY KEY, 
	 * SiasN INT, Gestante TEXT,GestanteAcompMedico TEXT,GestanteAcompNutric TEXT,Nutriz TEXT,NutrizAcompMedico TEXT,NutrizAcompNutric TEXT,
	 * Intolerancia TEXT,IntoleranciaLactose TEXT,IntoleranciaGluten TEXT,IntoleranciaProteina TEXT,IntoleranciaOutra TEXT,
	 * IntoleranciaAcompMedico TEXT,IntoleranciaAcompNutric TEXT,Diabete TEXT,DiabeteAcompMedico TEXT,DiabeteAcompNutric TEXT,Anemia TEXT,
	 * AnemiaAcompMedico TEXT,AnemiaAcompNutric TEXT,Hipertensao TEXT,HipertensaoAcompMedico TEXT,HipertensaoAcompNutric TEXT,Obesidade TEXT,
	 * ObesidadeAcompMedico TEXT,ObesidadeAcompNutric TEXT
	 * @param string SiasN INT
	 * @param checked  Gestante TEXT
	 * @param checked2 GestanteAcompMedico TEXT
	 * @param checked3 GestanteAcompNutric TEXT
	 * @param checked4 Nutriz TEXT
	 * @param checked5 NutrizAcompMedico TEXT
	 * @param checked6 NutrizAcompNutric TEXT
	 * @param checked7 Intolerancia TEXT
	 * @param checked8 IntoleranciaLactose TEXT
	 * @param checked9 IntoleranciaGluten TEXT
	 * @param checked10 IntoleranciaProteina TEXT
	 * @param checked11 IntoleranciaOutra TEXT
	 * @param checked12 IntoleranciaAcompMedico TEXT
	 * @param checked13 IntoleranciaAcompNutric TEXT
	 * @param checked14 Diabete TEXT
	 * @param checked15 DiabeteAcompMedico TEXT
	 * @param checked16 DiabeteAcompNutric TEXT
	 * @param checked17 Anemia TEXT
	 * @param checked18 AnemiaAcompMedico TEXT
	 * @param checked19 AnemiaAcompNutric TEXT
	 * @param checked20 Hipertensao TEXT
	 * @param checked21 HipertensaoAcompMedico TEXT
	 * @param checked22 HipertensaoAcompNutric TEXT
	 * @param checked23 Obesidade TEXT
	 * @param checked24 ObesidadeAcompMedico TEXT
	 * @param checked25 ObesidadeAcompNutric TEXT
	 */
	public void salvaDados(int string, String checked,
			String checked2, String checked3, String checked4,
			String checked5, String checked6, String checked7,
			String checked8, String checked9, String checked10,
			String checked11, String checked12, String checked13,
			String checked14, String checked15, String checked16,
			String checked17, String checked18, String checked19,
			String checked20, String checked21, String checked22,
			String checked23, String checked24, String checked25){
		try{

			String SQL = "INSERT INTO tab_SocialA_IndSegAlimen(SiasN, Gestante ,GestanteAcompMedico ,GestanteAcompNutric ,Nutriz ,NutrizAcompMedico ,NutrizAcompNutric ,Intolerancia ,IntoleranciaLactose ,IntoleranciaGluten,IntoleranciaProteina,IntoleranciaOutra,IntoleranciaAcompMedico ,IntoleranciaAcompNutric ,Diabete ,DiabeteAcompMedico,DiabeteAcompNutric,Anemia,AnemiaAcompMedico ,AnemiaAcompNutric,Hipertensao,HipertensaoAcompMedico,HipertensaoAcompNutric,Obesidade,ObesidadeAcompMedico,ObesidadeAcompNutric ) "
					+"VALUES ("+string+", '"+checked+"','"+
					checked2+"','"+ checked3+"','"+checked4+"','"+
					checked5+"','" +checked6+"','" + checked7+"','"+
					checked8+"','"+checked9+"','"+ checked10+"','"+
					checked11+"','"+checked12+"','"+checked13+"','"+
					checked14+"','"+ checked15+"','"+ checked16+"','"+
					checked17+"','"+checked18+"','"+ checked19+"','"+
					checked20+"','"+checked21+"','"+ checked22+"','"+
					checked23+"','"+checked24+"','"+checked25+"')";

			BancoDados.execSQL(SQL);
			//mensagemAlerta("OK","Gravar: " + SQL);
			Toast.makeText(this, "Gravando Dados da Família:"+NumSias, Toast.LENGTH_LONG).show();
		}catch(Exception erro) {
			mensagemAlerta("Erro","Erro Ao Gravar ");
			Log.e("IndSegAlimentarActivity", "Erro em BancoDados.close();"+erro.getMessage());
		}
	}

	public boolean validaRegistro(){
		boolean retorno = false;
		int erro = 0;
		if (cbAcompMedGest.isChecked()||cbAcompNutGest.isChecked()){ //se um ou outro True
			if (!cbGestante.isChecked()){ // se este false
				Toast.makeText(this, "O Campo Gestante é obrigatório para estas escolhas", Toast.LENGTH_LONG).show();
				Log.e(TAG, "validaRegistro - Gestante");
				erro++;
			}
		}
		
		if (cbAcompMedNutriz.isChecked()||cbAcompNutNutriz.isChecked()){ //se um ou outro True
			if (!cbNutriz.isChecked()){ // se este false
				Toast.makeText(this, "O Campo Nutriz é obrigatório para estas escolhas", Toast.LENGTH_LONG).show();
				Log.e(TAG, "validaRegistro - Nutriz");
				erro++;
			}
		}
		if (cbAcompMedInto.isChecked()||cbAcompNutInto.isChecked()||cbIntoLactose.isChecked()||cbIntoGluten.isChecked()||cbIntoProteina.isChecked()){ //se um ou outro True
			if (!cbIntolerancia.isChecked()){ // se este false
				Toast.makeText(this, "O Campo Intolerancia é obrigatório para estas escolhas", Toast.LENGTH_LONG).show();
				Log.e(TAG, "validaRegistro - Intolerancia");
				erro++;
			}
		}
		if (cbAcompMedDiabetes.isChecked()||cbAcompNutDiabetes.isChecked()){ //se um ou outro True
			if (!cbDiabete.isChecked()){ // se este false
				Toast.makeText(this, "O Campo Diabetes é obrigatório para estas escolhas", Toast.LENGTH_LONG).show();
				Log.e(TAG, "validaRegistro - Diabetes");
				erro++;
			}
		}
		if (cbAcompMedAnemia.isChecked()||cbAcompNutAnemia.isChecked()){ //se um ou outro True
			if (!cbAnemia.isChecked()){ // se este false
				Toast.makeText(this, "O Campo Anemia é obrigatório para estas escolhas", Toast.LENGTH_LONG).show();
				Log.e(TAG, "validaRegistro - Anemia");
				erro++;
			}
		}
		if (cbAcompMedHipert.isChecked()||cbAcompNutHipert.isChecked()){ //se um ou outro True
			if (!cbHipertensao.isChecked()){ // se este false
				Toast.makeText(this, "O Campo Hipertensão é obrigatório para estas escolhas", Toast.LENGTH_LONG).show();
				Log.e(TAG, "validaRegistro - Hipertensão");
				erro++;
			}
		}
		if (cbAcompNutObesidade.isChecked()||cbAcompMedObesidade.isChecked()){ //se um ou outro True
			if (!cbObesidade.isChecked()){ // se este false
				Toast.makeText(this, "O Campo Obesidade é obrigatório para estas escolhas", Toast.LENGTH_LONG).show();
				Log.e(TAG, "validaRegistro - Obesidade");
				erro++;
			}
		}
		if (erro==0){
			Log.i(TAG, "validaRegistro - True");
			retorno = true;
		}else{
			Log.e(TAG, "validaRegistro - erros: "+erro);
		}
		return retorno;
	} 

	public boolean verificaRegistro(int NumeroSias){
		boolean Retorno = false;
		try{
			String SQLQuery = "Select * from tab_SocialA_IndSegAlimen WHERE SiasN="+NumeroSias+" ";
			cVerifica = BancoDados.rawQuery(SQLQuery, null);
			if (cVerifica.getCount() !=0 ){
				cVerifica.moveToFirst();
				ID = cVerifica.getInt(cVerifica.getColumnIndex("_id"));
				Retorno = true;
				Log.i("IndSegAlimentarActivity", "verificaRegistro() TRUE ");
			}
		}catch (Exception Err){
			mensagemAlerta("Erro","Erro Encontrado");
			Log.e("IndSegAlimentarActivity", "verificaRegistro() "+Err.getMessage());
		}
		return Retorno;
	}

	public void setarDados(){
		try {
			String SQL2 = "SELECT * FROM tab_SocialA_IndSegAlimen WHERE SiasN="+NumSias+" ";
			Log.v("IndSegAlimentarActivity", "setarDados() NumSias: "+NumSias);
			Cursor c = BancoDados.rawQuery(SQL2, null);

			c.moveToFirst();
			int counter = 0;
			do {
				counter++; 
				// Gestante
				String Gestante =  c.getString(c.getColumnIndex("Gestante"));
				if (Gestante.equals("Sim")){
					cbGestante.setChecked(true);
				}else{
					cbGestante.setChecked(false);
				}
				String GestanteAcompMedico =  c.getString(c.getColumnIndex("GestanteAcompMedico"));
				if (GestanteAcompMedico.equals("Sim")){
					cbAcompMedGest.setChecked(true);
				}else{
					cbAcompMedGest.setChecked(false);
				}
				String GestanteAcompNutric =  c.getString(c.getColumnIndex("GestanteAcompNutric"));
				if (GestanteAcompNutric.equals("Sim")){
					cbAcompNutGest.setChecked(true);
				}else{
					cbAcompNutGest.setChecked(false);
				}

				// Nutriz
				String Nutriz =  c.getString(c.getColumnIndex("Nutriz"));
				if (Nutriz.equals("Sim")){
					cbNutriz.setChecked(true);
				}else{
					cbNutriz.setChecked(false);
				}
				String NutrizAcompMedico =  c.getString(c.getColumnIndex("NutrizAcompMedico"));
				if (NutrizAcompMedico.equals("Sim")){
					cbAcompMedNutriz.setChecked(true);
				}else{
					cbAcompMedNutriz.setChecked(false);
				}
				String NutrizAcompNutric =  c.getString(c.getColumnIndex("NutrizAcompNutric"));
				if (NutrizAcompNutric.equals("Sim")){
					cbAcompNutNutriz.setChecked(true);
				}else{
					cbAcompNutNutriz.setChecked(false);
				}

				// Intolerancia
				String Intolerancia =  c.getString(c.getColumnIndex("Intolerancia"));
				if (Intolerancia.equals("Sim")){
					cbIntolerancia.setChecked(true);
				}else{
					cbIntolerancia.setChecked(false);
				}
				String IntoleranciaAcompMedico =  c.getString(c.getColumnIndex("IntoleranciaAcompMedico"));
				if (IntoleranciaAcompMedico.equals("Sim")){
					cbAcompMedInto.setChecked(true);
				}else{
					cbAcompMedInto.setChecked(false);
				}
				String IntoleranciaAcompNutric =  c.getString(c.getColumnIndex("IntoleranciaAcompNutric"));
				if (IntoleranciaAcompNutric.equals("Sim")){
					cbAcompNutInto.setChecked(true);
				}else{
					cbAcompNutInto.setChecked(false);
				}
				String IntoleranciaLactose =  c.getString(c.getColumnIndex("IntoleranciaLactose"));
				if (IntoleranciaLactose.equals("Sim")){
					cbIntoLactose.setChecked(true);
				}else{
					cbIntoLactose.setChecked(false);
				}
				String IntoleranciaGluten =  c.getString(c.getColumnIndex("IntoleranciaGluten"));
				if (IntoleranciaGluten.equals("Sim")){
					cbIntoGluten.setChecked(true);
				}else{
					cbIntoGluten.setChecked(false);
				}
				String IntoleranciaProteina =  c.getString(c.getColumnIndex("IntoleranciaProteina"));
				if (IntoleranciaProteina.equals("Sim")){
					cbIntoProteina.setChecked(true);
				}else{
					cbIntoProteina.setChecked(false);
				}

				tbIntoOutra.setText(c.getString(c.getColumnIndex("IntoleranciaOutra")));


				// Diabetes
				String Diabete =  c.getString(c.getColumnIndex("Diabete"));
				if (Diabete.equals("Sim")){
					cbDiabete.setChecked(true);
				}else{
					cbDiabete.setChecked(false);
				}
				String DiabeteAcompMedico =  c.getString(c.getColumnIndex("DiabeteAcompMedico"));
				if (DiabeteAcompMedico.equals("Sim")){
					cbAcompMedDiabetes.setChecked(true);
				}else{
					cbAcompMedDiabetes.setChecked(false);
				}
				String DiabeteAcompNutric =  c.getString(c.getColumnIndex("DiabeteAcompNutric"));
				if (DiabeteAcompNutric.equals("Sim")){
					cbAcompNutDiabetes.setChecked(true);
				}else{
					cbAcompNutDiabetes.setChecked(false);
				}

				// Anemia
				String Anemia =  c.getString(c.getColumnIndex("Anemia"));
				if (Anemia.equals("Sim")){
					cbAnemia.setChecked(true);
				}else{
					cbAnemia.setChecked(false);
				}
				String AnemiaAcompMedico =  c.getString(c.getColumnIndex("AnemiaAcompMedico"));
				if (AnemiaAcompMedico.equals("Sim")){
					cbAcompMedAnemia.setChecked(true);
				}else{
					cbAcompMedAnemia.setChecked(false);
				}
				String AnemiaAcompNutric =  c.getString(c.getColumnIndex("AnemiaAcompNutric"));
				if (AnemiaAcompNutric.equals("Sim")){
					cbAcompNutAnemia.setChecked(true);
				}else{
					cbAcompNutAnemia.setChecked(false);
				}

				// Hipertensao
				String Hipertensao =  c.getString(c.getColumnIndex("Hipertensao"));
				if (Hipertensao.equals("Sim")){
					cbHipertensao.setChecked(true);
				}else{
					cbHipertensao.setChecked(false);
				}
				String HipertensaoAcompMedico =  c.getString(c.getColumnIndex("HipertensaoAcompMedico"));
				if (HipertensaoAcompMedico.equals("Sim")){
					cbAcompMedHipert.setChecked(true);
				}else{
					cbAcompMedHipert.setChecked(false);
				}
				String HipertensaoAcompNutric =  c.getString(c.getColumnIndex("HipertensaoAcompNutric"));
				if (HipertensaoAcompNutric.equals("Sim")){
					cbAcompNutHipert.setChecked(true);
				}else{
					cbAcompNutHipert.setChecked(false);
				}

				// Obesidade
				String Obesidade =  c.getString(c.getColumnIndex("Obesidade"));
				if (Obesidade.equals("Sim")){
					cbObesidade.setChecked(true);
				}else{
					cbObesidade.setChecked(false);
				}
				String ObesidadeAcompMedico =  c.getString(c.getColumnIndex("ObesidadeAcompMedico"));
				if (ObesidadeAcompMedico.equals("Sim")){
					cbAcompMedObesidade.setChecked(true);
				}else{
					cbAcompMedObesidade.setChecked(false);
				}
				String ObesidadeAcompNutric =  c.getString(c.getColumnIndex("ObesidadeAcompNutric"));
				if (ObesidadeAcompNutric.equals("Sim")){
					cbAcompNutObesidade.setChecked(true);
				}else{
					cbAcompNutObesidade.setChecked(false);
				}



			}while(c.moveToNext());
			Log.i("IndSegAlimentarActivity", "setarDados() Counter: "+counter);
		}catch (Exception E){
			mensagemAlerta("Erro","Ocorreu um erro inesperado");
			Log.e("IndSegAlimentarActivity", "Erro em setarDados() "+E.getMessage());
		}
	}

	public void alteraRegistro(int id){
		String gestante, gestanteAcompMedico,gestanteAcompNutric;
		if (cbGestante.isChecked()){
			gestante = "Sim";
		}else{
			gestante = "Não";
		}
		if (cbAcompMedGest.isChecked()){
			gestanteAcompMedico = "Sim";
		}else{
			gestanteAcompMedico = "Não";
		}
		if (cbAcompNutGest.isChecked()){
			gestanteAcompNutric = "Sim";
		}else{
			gestanteAcompNutric = "Não";
		}
		String nutriz, nutrizAcompMedico,nutrizAcompNutric;
		if (cbNutriz.isChecked()){
			nutriz = "Sim";
		}else{
			nutriz = "Não";
		}
		if (cbAcompMedNutriz.isChecked()){
			nutrizAcompMedico = "Sim";
		}else{
			nutrizAcompMedico = "Não";
		}
		if (cbAcompMedNutriz.isChecked()){
			nutrizAcompNutric = "Sim";
		}else{
			nutrizAcompNutric = "Não";
		}
		String intolerancia, intoleranciaAcompMedico,intoleranciaAcompNutric,intoleranciaLactose,intoleranciaGluten,intoleranciaProteina;
		if (cbIntolerancia.isChecked()){
			intolerancia = "Sim";
		}else{
			intolerancia = "Não";
		}
		if (cbAcompMedInto.isChecked()){
			intoleranciaAcompMedico = "Sim";
		}else{
			intoleranciaAcompMedico = "Não";
		}
		if (cbAcompNutInto.isChecked()){
			intoleranciaAcompNutric = "Sim";
		}else{
			intoleranciaAcompNutric = "Não";
		}
		if (cbIntoLactose.isChecked()){
			intoleranciaLactose = "Sim";
		}else{
			intoleranciaLactose = "Não";
		}
		if (cbIntoGluten.isChecked()){
			intoleranciaGluten = "Sim";
		}else{
			intoleranciaGluten = "Não";
		}
		if (cbIntoProteina.isChecked()){
			intoleranciaProteina = "Sim";
		}else{
			intoleranciaProteina = "Não";
		}
		String diabete, diabeteAcompMedico,diabeteAcompNutric;
		if (cbDiabete.isChecked()){
			diabete = "Sim";
		}else{
			diabete = "Não";
		}
		if (cbAcompMedDiabetes.isChecked()){
			diabeteAcompMedico = "Sim";
		}else{
			diabeteAcompMedico = "Não";
		}
		if (cbAcompNutDiabetes.isChecked()){
			diabeteAcompNutric = "Sim";
		}else{
			diabeteAcompNutric = "Não";
		}
		String anemia, anemiaAcompMedico,anemiaAcompNutric;
		if (cbAnemia.isChecked()){
			anemia = "Sim";
		}else{
			anemia = "Não";
		}
		if (cbAcompMedAnemia.isChecked()){
			anemiaAcompMedico = "Sim";
		}else{
			anemiaAcompMedico = "Não";
		}
		if (cbAcompNutAnemia.isChecked()){
			anemiaAcompNutric = "Sim";
		}else{
			anemiaAcompNutric = "Não";
		}
		String hipertensao, hipertensaoAcompMedico,hipertensaoAcompNutric;
		if (cbHipertensao.isChecked()){
			hipertensao = "Sim";
		}else{
			hipertensao = "Não";
		}
		if (cbAcompMedHipert.isChecked()){
			hipertensaoAcompMedico = "Sim";
		}else{
			hipertensaoAcompMedico = "Não";
		}
		if (cbAcompNutHipert.isChecked()){
			hipertensaoAcompNutric = "Sim";
		}else{
			hipertensaoAcompNutric = "Não";
		}
		String obesidade, obesidadeAcompMedico,obesidadeAcompNutric;
		if (cbObesidade.isChecked()){
			obesidade = "Sim";
		}else{
			obesidade = "Não";
		}
		if (cbAcompMedObesidade.isChecked()){
			obesidadeAcompMedico = "Sim";
		}else{
			obesidadeAcompMedico = "Não";
		}
		if (cbAcompNutObesidade.isChecked()){
			obesidadeAcompNutric = "Sim";
		}else{
			obesidadeAcompNutric = "Não";
		}
		try{
			String uSQL = "UPDATE tab_SocialA_IndSegAlimen SET " +
					" SiasN='"+NumSias+"'," +
					" Gestante='"+gestante+"'," +
					" GestanteAcompMedico='"+gestanteAcompMedico+"'," +
					" GestanteAcompNutric='"+gestanteAcompNutric+"'," +
					" Nutriz='"+nutriz +"'," +
					" NutrizAcompMedico='"+ nutrizAcompMedico+"'," +
					" NutrizAcompNutric='"+nutrizAcompNutric+"'," +
					" Intolerancia='"+intolerancia+"'," +
					" IntoleranciaLactose='"+intoleranciaLactose+"'," +
					" IntoleranciaGluten='"+intoleranciaGluten+"'," +
					" IntoleranciaProteina='"+intoleranciaProteina+"'," +
					" IntoleranciaOutra='"+tbIntoOutra.getText().toString()+"'," +
					" IntoleranciaAcompMedico='"+intoleranciaAcompMedico+"'," +
					" IntoleranciaAcompNutric='"+intoleranciaAcompNutric+"'," +
					" Diabete='"+diabete+"'," +
					" DiabeteAcompMedico='"+diabeteAcompMedico+"'," +
					" DiabeteAcompNutric='"+diabeteAcompNutric+"'," +
					" Anemia='"+anemia+"'," +
					" AnemiaAcompMedico='"+anemiaAcompMedico+"'," +
					" AnemiaAcompNutric='"+anemiaAcompNutric+"'," +
					" Hipertensao='"+hipertensao+"'," +
					" HipertensaoAcompMedico='"+hipertensaoAcompMedico+"'," +
					" HipertensaoAcompNutric='"+hipertensaoAcompNutric+"'," +
					" Obesidade='"+obesidade+"'," +
					" ObesidadeAcompMedico='"+obesidadeAcompMedico+"'," +
					" ObesidadeAcompNutric='"+obesidadeAcompNutric+"' " +
					" WHERE _id="+id+" ";
			BancoDados.execSQL(uSQL);
			Toast.makeText(IndSegAlimentarActivity.this, "Alterado", Toast.LENGTH_LONG).show();
			Log.i("IndSegAlimentarActivity", "alteraRegistro() realizado com sucesso ");
		}catch(Exception Err){
			mensagemAlerta("Erro","Ocorreu um erro inesperado");
			Log.e("IndSegAlimentarActivity", "alteraRegistro() erro: "+Err.getMessage());
		}
		/* SiasN INT, 
		 * Gestante TEXT,GestanteAcompMedico TEXT,GestanteAcompNutric TEXT,
		 * Nutriz TEXT,NutrizAcompMedico TEXT,NutrizAcompNutric TEXT,
		 * Intolerancia TEXT,IntoleranciaLactose TEXT,IntoleranciaGluten TEXT,IntoleranciaProteina TEXT,
		 * IntoleranciaOutra TEXT, IntoleranciaAcompMedico TEXT,IntoleranciaAcompNutric TEXT,
		 * Diabete TEXT,DiabeteAcompMedico TEXT,DiabeteAcompNutric TEXT,
		 * Anemia TEXT,AnemiaAcompMedico TEXT,AnemiaAcompNutric TEXT,
		 * Hipertensao TEXT,HipertensaoAcompMedico TEXT,HipertensaoAcompNutric TEXT,
		 * Obesidade TEXT,ObesidadeAcompMedico TEXT,ObesidadeAcompNutric TEXT

		 * NumSias,
		 * cbGestante.isChecked(),cbAcompMedGest.isChecked(),cbAcompNutGest.isChecked(),
		 * cbNutriz.isChecked(),cbAcompMedNutriz.isChecked(),cbAcompNutNutriz.isChecked(),
		 * cbIntolerancia.isChecked(),cbAcompMedInto.isChecked(),cbAcompNutInto.isChecked(), cbIntoLactose.isChecked(),cbIntoGluten.isChecked(),cbIntoProteina.isChecked(),
		 * cBancoDadosiabetes.isChecked(),cbAcompMedDiabetes.isChecked(), cbAcompNutDiabetes.isChecked(),
        	cbAnemia.isChecked(),cbAcompMedAnemia.isChecked(),cbAcompNutAnemia.isChecked(),
        	cbHipertensao.isChecked(), cbAcompMedHipert.isChecked(),cbAcompNutHipert.isChecked(),
        	cbObesidade.isChecked(),cbAcompMedObesidade.isChecked(),cbAcompNutObesidade.isChecked());
		 */	 

	}

	public void ittIr(){
		/** InitComponents */
		Intent ittISAPx = new Intent(getApplicationContext(), AcessoAlimentacaoActivity.class);
		closeDB();
		startActivity(ittISAPx);
	}
	
	public void mensagemAlerta(String AlertTitle, String MSGAlert){
		AlertDialog.Builder Mensagem = new AlertDialog.Builder(IndSegAlimentarActivity.this);
		Mensagem.setTitle(AlertTitle);
		Mensagem.setMessage(MSGAlert);
		Mensagem.setNeutralButton("Ok", null);
		Mensagem.show();
	}
	@Override
	protected void onResume() {
		//quando a Activity main receber o foco novamente abre-se novamente a conexão
		openDB();
		//método responsável pela atualiza da lista de dados na tela
		//adapter.notifyDataSetChanged();
		super.onResume();
	}
	@Override
	protected void onPause() {

		//toda vez que o programa peder o foco fecha-se a conexão com o BD
		closeDB();
		super.onPause();
	}
	@Override
	protected void onDestroy() {
		super.onDestroy();
		unRegisterBaseActivityReceiver();
		finish();
	}
}
